Construction d'un simulateur de vol monoposte

Index 

Ajout de cartes OpenCockpits

Genèse

La solution OpenCockpit

Synoptique

Première fonction

Listing du script

Autres fonctions

Brochage des cartes

Conclusion

 

Genèse

Le but ultime d'un constructeur de simulateur de vol est de se passer du clavier du PC pour tout commander, et d'avoir un tableau de bord se rapprochant le plus possible, esthétiquement comme dans son utilisation, d'un vrai tableau de bord. C'est compliqué, c'est long à concevoir et à mettre au point, ça peut coûter cher, mais quand c'est fini et que ça fonctionne, qu'est-ce qu'on est fier !

Je m'y étais donc attelé depuis longtemps. J'ai galéré pendant des mois pour essayer de communiquer entre FS X et des dispositifs extérieurs intégrant des microcontrôleurs PIC en utilisant diverses solutions : port USB, liaison série, programmes en VB6, C#, C++, SimConnect, et j'en passe. Tout ça était d'une extrême complication et d'une mise en oeuvre très lourde. Je ne suis jamais parvenu à faire ce que je voulais. Le dispositif extérieur fonctionnait parfaitement, mais la communication avec FS X non, ou très mal. J'avais des choses qui ne marchaient jamais, d'autres qui fonctionnaient un peu, et d'autres qui fonctionnaient pendant un moment et s'arrêtaient ensuite. Après plus d'un an d'efforts, j'ai abandonné tout ça, et je suis passé au système OpenCockpits, dont de très nombreux sites web disent le plus grand bien. Après deux jours d'adaptation à ce nouveau système, je peux affirmer que c'est vraiment LA solution ! Il m'a suffit de deux autres jours pour réaliser des choses que je n'avais pas pu faire en plusieurs mois.

Exemples de deux modules d'interface réalisés autour de microcontrôleurs PIC. Envoyer des informations à FS X est assez facile. En recevoir est très compliqué. Je n'y suis jamais vraiment parvenu.

La solution OpenCockpits

Les cartes OpenCockpits sont des cartes électroniques qui font partie d'un projet très ambitieux et très puissant développé par une petite équipe espagnole. Le  meneur de cette équipe est Manuel Vélez, qui semble avoir les casquettes de webmaster, électronicien, informaticien, et aussi amateur de simulation de vol. De nombreux autres passionnés, d'Espagne et d'autres pays, apportent leur contribution à ce projet. Les cartes sont associées à une suite logicielle appelée SIOC, téléchargeable gratuitement depuis le site OpenCockpit.Ce sont les programmes de cette suite qui donnent toute la puissance au système.

OpenCockpits s'adresse à tous ceux qui ont envie de construire un cockpit d'avion, en y intégrant toutes les commandes qui se font normalement à la souris ou au clavier avec FS X, tous les affichages qui apparaissent normalement à l'écran, et d'autres choses encore.  Le site http://www.opencockpits.com/index.php décrit tout le projet. On peut y commander beaucoup de choses : les cartes électroniques, des composants pour la construction de cockpits et de tableaux de bord, des add-ons tout faits, des faces avant d'appareils, etc. Les prix sont raisonnables. Les commandes se font en ligne, le paiement par carte ou par Paypal, et les expéditions par UPS. Le site est en langue espagnole. Il y a quelques pages traduites en mauvais anglais, et d'autres, assez peu, en français. Le site est un peu brouillon, mais on arrive à s'en sortir.

On trouve sur le web une multitude de sites qui proposent des tutoriels, des exemples de réalisations, des conseils. Ces sites sont très souvent en anglais. On en trouve en français, en allemand. Sûrement aussi en d'autres langues. Il faut donc chercher, creuser, télécharger, imprimer... C'est d'ailleurs une des principales occupations préliminaires dans la construction d'un simu.

Comment ça marche ?

En bref, le système fonctionne de la manière suivante :

  • le programme de base est sioc.exe. On le lance avant ou après le lancement de FS X. On peut même le lancer indépendamment de  FS X. Ce programme exécute en tâche de fond le programme (le script), écrit avec un traitement de texte (wordpad ou wordpad++), qui gère tout ce qu'on veut faire. Le nom de ce programme est indiqué dans le fichier sioc.ini, qu'il faut donc modifier à la main préalablement. Exemple de fichier texte de script ci-dessous.
  • le script que l'on a écrit définit des variables qui sont associées à des sorties d'une des cartes Output OpenCockpit, à des entrées d'une des cartes Input OpenCockpit, ou à des variables de FS X. La définition des variables se fait très simplement en leur donnant un numéro, et éventuellement un nom.
  • pour les variables de FS X, on y accède directement par leur adresse en mémoire. Cette adresse est donnée par un listing créé par Peter Dowson dans FSUIPC (voir Ressources ci-dessous), et s'appelle un offset, ou décalage par rapport à une adresse particulière, probablement liée à l'endroit où Windows a chargé FS X dans la mémoire du PC.
  • sioc.exe surveille en permanence l'état des variables ci-dessus. Dès qu'une de ces variables change d'état ou de valeur, sioc.exe lance le petit morceau de script qui est associé à cette variable. Ça peut être allumer un voyant extérieur, modifier quelque chose dans FS X (sortir le train, par exemple), lire une variable de FS X (l'altitude par ex.), déclencher une action.

C'est tout.

Comme SIOC n'intervient qu'en cas de modification d'une des variables définies dans le script, il ne consomme pratiquement pas de ressource du PC, et il ne dégrade pas du tout les FPS. Pour la mise au point du programme, c'est très simple : pendant le fonctionnement de FS X, on modifie le fichier texte du script, on clique sur un bouton, et on voit tout de suite le résultat.

Le langage utilisé pour le script est très simple. Ce n'est pas un langage classique, avec un début et une fin, des boucles FOR...NEXT, WHILE..., GOTO, des procédures, des sous-programmes, etc. Ce langage ne connaît que le test "IF...ELSE", et quelques fonctions logiques et mathématiques. Les parenthèses pour les calculs n'existent pas, mais il existe des moyens de s'en passer. Des automates programmables industriels fonctionnent comme ça.

Je n'en dis pas plus. Il y a évidemment bien d'autres choses à savoir. Les ressources ci-dessous permettent d'aller plus loin.

Les cartes Open Cockpit pilotées par un programme SIOC peuvent fort bien tourner indépendamment d'un simulateur de vol. On peut automatiser des tas de choses dans une maison par exemple. On peut surtout tester son système pour FSX sans charger FSX !

Ressources

Sites internet contenant des informations intéressantes (liste non exhaustive et sans cesse changeante) :

Site

Adresse

Langue

Contenu

OpenCockpits

http://www.opencockpits.com/

Espagnol/anglais/français

Le site des cartes et modules SIOC

SimuBaron

http://www.simubaron.fr/index.htm

Français

Description dans le détail de la construction d'un simulateur de Baron 58.

Nico Kaan

http://www.lekseecon.nl/

Anglais

Description d'un sulmulateur de B767.

Air Cockpit

http://www.aircockpit.com/index.php

Français

Forum dédié aux constructeurs de cockpits.

SimuCockpit http://www.simucockpit.fr/sommaire.htm

Français

Description dans le détail de la construction d'un simulateur de Beech 200.

737NG http://www.b737ng.net/

Français

Description de la construction (en cours) d'un simulateur de Boeing 737NG.

Liste des variables FSUIPC

http://www.simucockpit.fr/Offsets%20FSUIPC.PDF

Anglais, par Peter Dowson

Voir un extrait du tableau des variables

idem, mais une autre version, à peine différente

http://cabsim.googlecode.com/files/ANEXO_V_MANUAL_IOCARDS.PDF

Anglais

Manuel de référence SIOC

Images/Reference manual SIOC.pdf

Anglais

Reprise (par moi-même) quasi in extenso de l'aide des programmes SIOC, mise au format pdf.

 

Documents d'origine OpenCockpit, traduits en français par JJ Scohy, et disponibles sur son site 737NG

Notice sur les modules OpenCockpits et le langage SIOC.

http://www.b737ng.net/fichiers/TRADUCTION%20LEVELD%20IOCARDS.pdf

Manuel de référence de SIOC

http://www.b737ng.net/fichiers/r%E9f%E9rence%20SIOC.pdf

Tutoriel SIOC

http://www.b737ng.net/fichiers/tutoriel%20SIOC.pdf

Acquisitions

Voici ce que j'ai commandé. Certaines photos viennent du site OpenCockpits. Les deux cartes INPUTS et OUTPUTS ne sont pas faciles à dénicher sur le site. Elles apparaissent dans le cataloque, à la page http://www.opencockpits.com/catalog/electronic-cards-iocards-master-digital-inputsoutp-c-21_27.html. Elles ne sont pas indispensables, mais elles sont pratiques pour un cockpit qu'on construit pas à pas, sans plan d'ensemble préalable. Grâce aux borniers à vis, on peut ajouter, retirer, déplacer des fils sans problème.

Carte MASTER

64 sorties et 72 entrées (jusqu’à 4 cartes possibles).

Carte USB/Expansion

La carte USB/expansion permet de connecter la carte MASTER à un PC par un câble USB.

 

Carte INPUTS : 72 entrées Encoders

La carte INPUTS est une carte passive. Elle permet seulement de rendre disponibles sur des borniers à vis les entrées de la carte MASTER. On relie cette carte à la carte MASTER par un câble plat. On peut mettre deux cartes INPUTS, reliées soit sur J3 de cette carte, soit sur J4, soit sur J3 et J4.

On peut ajouter sur cette carte une petite carte ENCODERS, sur laquelle on peut brancher jusqu’à 4 encodeurs.

 

Carte OUTPUTS

Reliée à la carte Master par J2 : 38 sorties.

La carte OUTPUTS est une carte passive. Elle permet seulement de rendre disponibles sur des borniers à vis les sorties de la carte MASTER.

Branchement de contacts sur la carte INPUTS

Attention : il y a sur la carte Input Connection (INPUTS) des marquages GND, qu'on pourrait penser indiquer la masse. En fait, ce n'est pas l'équipotentielle Zéro Volt qu'on appelle classiquement Masse. C'est une pseudo-masse, ligne commune à chaque groupe de 9 entrées. Dans une installation avec de nombreux interrupteurs, on doit donc les regrouper par 9, et ces 9 organes doivent avoir leur fil commun relié à la pseudo-masse du groupe.

Brochage des cartes INPUTS et OUTPUTS

Les deux cartes INPUTS et OUTPUTS sont presqu'identiques. Les numéros des entrées et sorties sont sérigraphiés sur la carte à proximité des borniers à vis, mais c'est écrit en tout petit, et chaque borne peut correspondre à deux entrées ou à une sortie, tout ça avec des numéros différents. Pas très facile à mettre en oeuvre. C'est pourquoi j'ai créé ces deux images, qui décrivent les borniers dans les trois configurations possibles : carte en entrée reliée à MASTER par J3 ou J4, et carte en sortie reliée à MASTER par J2. Les images représentent les cartes vues dans un sens puis dans l'autre. Ça simplifie grandement les repérages.

Cliquer sur les images pour les avoir en grand.

Cartes vues dans un sens

<

Cartes vues dans l'autre sens

 

 

 

 

Top

Synoptique de ce que j'ai fait

Alimentation : les cartes doivent être alimentées en +5V. En fait, seule la carte master reçoit cette alimentation. Elle se charge de la redistribuer vers les autres cartes. Plutôt que d'installer une alimentation séparée pour ce +5V, j'ai récupéré le +12V du PC sur un des connecteurs destinés aux lecteurs de disques. J'ai ensuite installé un petit régulateur de tension 78M05 pour descendre le +12V à +5V. C'est donc cette dernière tension qui alimente les cartes OpenCockpits.

Les câbles plats sont fournis avec les cartes ONPUTS et OUTPUTS.

 

Installation mécanique

Les quatre cartes ont été fixées sur une plaque en aluminium retrouvée dans une armoire. Elle devait y être depuis 30 ans au moins, et avait déjà servi à d'autres usages, à en juger par les nombreux perçages qu'elle portait. Les cartes sont fixées sur la plaque par des entretoises filetées de 8 mm de haut. La carte Master, qui porte les connecteurs d'entrée et sortie, est montée au-dessus de la carte USB Expansion, avec des entretoises longues. Ce montage permet de réduire l'encombrement de l'ensemble.

1 : la plaque support après peinture.

2 : la plaque support, vue de dessous.

3 Les cartes montées provisoirement.

4 : l'ensemble posé sur la console, avec son couvercle transparent.

Support de cartes 2.jpg

Support de cartes 1.jpg

Cartes SIOC 2.jpg

Cartes SIOC 1.jpg

5 : l'ensemble avec les câbles plats, et un petit circuit en cours de test.

 

 

 Alimentation électrique de l'ensemble

IMG_0430.jpg

 

J'ai récupéré le +12V du PC en me branchant sur un des connecteurs internes d'alimentation des disques durs. Ce +12V est amené en face avant du PC sur deux petites bornes femelles jaune et noir. De là, il est envoyé vers l'ensemble et il y est abaissé à +5V par un régulateur de tension 78M05 monté sur un petit radiateur isolé de la masse.

Premiers essais

Je ne décris pas ici les premiers pas et les diverses opérations pour mettre en œuvre le système. Tout ça est fort bien expliqué dans les ressources citées plus haut. L'utilisation du programme controlador.exe permet de vérifier si tout fonctionne indépendamment de FS X. Tout a fonctionné assez vite.

Réalisation d'une première fonction

La première fonction que j'ai eu envie de réaliser avec des boutons-poussoirs est celle qui permet d'activer le Flight Director (FD) et de choisir entre GPS et NAV pour le PA. L'affichage de l'état de ces fonctions est fait par trois LEDs jaunes. Pour faire quelque chose de propre, j'ai décidé d'installer tout ça dans le module PA de Saitek, en le modifiant un peu.

Le mini panneau de commande, ajouté au module PA de Saitek :

Le schéma électrique de la petite carte réalisée sur une plaque imprimée à trous :

Cette étiquette a été dessinée à l'échelle 1 avec Corel Draw, puis imprimée sur du vinyl adhésif.

Les connexions entre le module et les cartes OpenCockpit ont été faites avec deux connecteurs pour l'autommobile ; un à 4 broches 2,8 mm pour les switches, et un à 6 broches 2,8 mm pour les LEDs. Ces connecteurs permettent de déconnecter complètement le module Saitek sans avoir à débrancher les fils qui arrivent sur les cartes OpenCockpits.

Le script qui permet de faire fonctionner ce système, et d'autres ajoutés ensuite, est présenté ci-dessous. Je ne garantis pas qu'il soit optimal. J'y ai ajouté la gestion des sorties pour les lumières. Il sera ainsi possible d'ajouter des lampes extérieures pour les feux de navigation, le Beacon, les phares d'atterrissage et de roulage, le feu à éclats (Strobe) et l'éclairage des instruments. Ces feux ne seront allumés que si l'interrupteur Master Bat est On. La gestion des pannes du circuit électrique n'est pas assurée.

// ------ Commandes GPS/NAV et FD, avec affichage correspondant -----

// JPC - 24 février 2012

// Les LEDs ne s'allument que si la tension avionique est présente,

// donc si les 2 switches Master Bat et Avionics sont ON.

// 26 fév 2012 : ajout commandes des lumières

// 27 fév 2012 : clignotement différent pour Strobe et Beacon

// ajout Cligno à 80 éclairs/min = 1,33 Hz => T = 0,75 s

// ajout LED de Pause

// ajout Entrée Frein de parking &FreinPark par &FreinParkSw

 

// ------------------------ Initialisation --------------------------

var 0 name Init value 0

{

    &EtatGPSNAVOut = 0   // mode NAV

    &EtatFDOut = 0      // FD off

    &LedGPS = 0

    &LedNAV = 0

    &LedFD = 0

    &VoltAvionicsOK = &MasterBatSw * &AvionicsSw   // 1 = tension avionique présente

    &LNav = 0

    &LBeacon = 1

    &LLanding = 2

    &LTaxi = 3  

    &LStrobes = 4   

    &LInstr = 5

// Génération des clignotements   

    &Cligno05Hz = 2 // valeur initiale de &Cligno05Hz, utilisé pour le Strobe

    &Cligno05Hz = TIMER 0, -1, 20  // &Cligno05Hz est décrémenté toutes les 10*20 ms

    &Cligno05Hz2 = RANDOM 1 5   // valeur initiale &Cligno05Hz2, utilisé pour le Beacon

    &Cligno05Hz2 = TIMER 0, -1, 19  // &Cligno05Hz2 est décrémenté toutes les 10*19 ms

    &Cligno80PM = 3

    &Cligno80PM = TIMER 0,-1, 10    // &Cligno80PM est décrémenté toutes les 100 ms

}

// ------------------------------------------------------------------   

 

var 10 name EtatGPSNAVIn Link FSUIPC_IN offset $132C Length 4  // Indic de GPS/NAV

{

    &EtatGPSNAVOut = &EtatGPSNAVIn

    if &EtatGPSNAVIn = 0

    {

        &LedGPS = 0

        &LedNAV = 1 * &VoltAvionicsOK

    }

    else

    {

        &LedNAV = 0

        &LedGPS = 1  * &VoltAvionicsOK  

    }

}

 

var 20 name EtatFDIn Link FSUIPC_IN offset $2EE0 Length 4  // état du FD

{

    &EtatFDOut = &EtatFDIn

    IF &EtatFDIn = 0

    {

        &LedFD = 0

    }

    ELSE

    {

        &LedFD = 1 * &VoltAvionicsOK

    }

}

 

var 41 Link IOCARD_SW input 62 type P  // switch GPS/NAV

{

    if &EtatGPSNAVIn = 0

    {

        &EtatGPSNAVOut = 1

        &LedGPS = 0

        &LedNAV = 1  * &VoltAvionicsOK  

    }

    else

    {

        &EtatGPSNAVOut = 0

        &LedGPS = 1 * &VoltAvionicsOK

        &LedNAV = 0     

    }

}

 

var 42 Link IOCARD_SW input 61 type P  // switch FD

{

    if &EtatFDIn = 0

    {

        &EtatFDOut = 1

        &LedFD = 1 * &VoltAvionicsOK

    }

    else

    {

        &EtatFDOut = 0

        &LedFD = 0

    }

}

 

var 43 name MasterBatSw Link FSUIPC_IN offset $281C Length 2

{

    &VoltAvionicsOK = &MasterBatSw * &AvionicsSw

    &LedGPS = &EtatGPSNAVIn * &VoltAvionicsOK

    if &EtatGPSNAVIn = 0

    {

        &LedNAV = 1 * &VoltAvionicsOK

    }

    else

    {

        &LedNAV = 0 

    }

    &LedFD = &EtatFDIn * &VoltAvionicsOK

}   

 

var 44 name AvionicsSw Link FSUIPC_IN offset $3103 Length 2

{

    &VoltAvionicsOK = &MasterBatSw * &AvionicsSw

    &LedGPS = &EtatGPSNAVIn * &VoltAvionicsOK

    if &EtatGPSNAVIn = 0

    {

        &LedNAV = 1 * &VoltAvionicsOK

    }

    else

    {

        &LedNAV = 0 

    }

    &LedFD = &EtatFDIn * &VoltAvionicsOK

}   

 

var 45 name FreinParkSw Link IOCARD_SW input 60 type I    

{

    if &FreinParkSw = 0

    {

        &FreinPark = 0

    }       

    else

    {

        &FreinPark = 32767

    }       

}   

 

var 59 name EtatLights Link FSUIPC_IN offset $0D0C Length 2

{

    if &MasterBatSw = 1

    {

        L0 = &EtatLights

    }

    else

    {

        L0 = 0

    }

    &LStrobes = TESTBIT L0 4   // pour allumer tout de suite, avant de clignoter

    &LBeacon =  TESTBIT L0 1   // pour allumer tout de suite, avant de clignoter    

}

 

var 70 name Cligno05Hz

{

    if &MasterBatSw = 1

    {

        &LNav = TESTBIT &EtatLights 0

        &LLanding = TESTBIT &EtatLights 2

        &LTaxi = TESTBIT &EtatLights 3  

        &LInstr = TESTBIT &EtatLights 5 

        if &Cligno05Hz < 2

        {

            C0 = TESTBIT &EtatLights 4

            if C0

            {

                &LStrobes = 1

            }

            else

            {

                &LStrobes = 0

            }

        }

        else

        {

            if &Cligno05Hz < 3

            {

                &LStrobes = 1

            }

            else

            {

                if &Cligno05Hz < 4

                {

                    C0 = TESTBIT &EtatLights 4

                    if C0

                    {

                        &LStrobes = 1

                    }

                    else

                    {

                        &LStrobes = 0

                    }

                }

                else

                {

                    &LStrobes = 0

                }               

            }

        }   

    }

    else

    {

        &LStrobes = 0

        &LBeacon = 0

        &LNav = 0

        &LLanding = 0

        &LTaxi = 0

        &LInstr = 0

    }

    if &Cligno05Hz = 0

    {

        &Cligno05Hz = 10

    }

}           

 

var 72 name Cligno05Hz2

{

    if &MasterBatSw = 1

    {

        &LNav = TESTBIT &EtatLights 0

        &LLanding = TESTBIT &EtatLights 2

        &LTaxi = TESTBIT &EtatLights 3  

        &LInstr = TESTBIT &EtatLights 5 

        if &Cligno05Hz2 < 3

        {

            &LBeacon =  TESTBIT &EtatLights 1

        }

        else

        {

            &LBeacon = 0

        }               

    }

    else

    {

        &LStrobes = 0

        &LBeacon = 0

        &LNav = 0

        &LLanding = 0

        &LTaxi = 0

        &LInstr = 0

    }

    if &Cligno05Hz2 = 0

    {

        &Cligno05Hz2 = 10

    }

}           

 

var 81 name Cligno80PM

{

    if &EnPause = 1

    {

        if &Cligno80PM < 4

        {

            &LedEnPause = 0

        }

        else

        {

            &LedEnPause = 1

        }

    }

    else

    {

        &LedEnPause = 0

    }

    if &Cligno80PM = 0

    {

        &Cligno80PM = 8

    }

}

 

var 80 name EnPause Link FSUIPC_IN Offset $0264 Length 2  // = 1 si en pause

{

    &LedEnPause = &EnPause

}

    

var 11 name EtatGPSNAVOut Link FSUIPC_OUT offset $132C Length 4  // Indic de GPS/NAV

var 21 name EtatFDOut Link FSUIPC_OUT offset $2EE0 Length 4  // état du FD

 

var 31 name LedGPS Link IOCARD_OUT Output 46 // led de GPS on

var 32 name LedNAV Link IOCARD_OUT Output 47   // Led de NAV on

var 33 name LedFD Link IOCARD_OUT Output 45   // Led de FD on

var 34 name FreinPark Link FSUIPC_OUT offset $BC8 Length 2 // 0=off, 32767=on

 

var 50 name VoltAvionicsOK

var 58 name NotEtatLight

var 60 name LNav Link IOCARD_OUT Output 11 // led de Navigation on

var 61 name LBeacon Link IOCARD_OUT Output 12 // led de Beacon on

var 62 name LLanding Link IOCARD_OUT Output 13 // led de Landing on

var 63 name LTaxi Link IOCARD_OUT Output 14 // led de Taxi on

var 64 name LStrobes Link IOCARD_OUT Output 15 // led de Strobes on

var 65 name LInstr Link IOCARD_OUT Output 16 // led de Panel on

var 66 name LedEnPause Link IOCARD_OUT Output 17 // led de Pause

Ça a fonctionné assez vite. J'ai ajouté des lignes pour que les trois LEDs soient éteintes tant que les interrupteurs Master Bat et Avionics du module Switches de Saitek sont sur OFF. Saitek aurait dû faire la même chose, mais soit il n'y a pas pensé, soit ça posait des problèmes sur certains avions.

1 : le module Saitek en cours de modification :

2 : le résultat :

3 : les modules OpenCockpits :

Modifs du PA 002 500px.jpg

Modifs du PA 003 500px.jpg

Modifs du PA 005 500px.jpg

Top

Remarques

  • Le schéma montre 3 résistances de 330 Ohms. En réalité, j'ai mis des 470 Ohms. Ce sera à ajuster en fonction de la luminosité des LEDs dont on dispose.
  • Les LEDs sont des 5 mm, jaunes, non diffusantes. Celles que j'avais ont un angle solide de diffusion assez étroit, ce qui les rend éblouissantes quand on les a en face, et moins visibles quand on est de côté. Dommage.
  • Pour pouvoir monter la mini-carte dans le boîtier Saitek, il a fallu le mutiler un peu à l'intérieur. C'est facile, parce que ce boîtier est en ABS, très tendre. Donc au fer à souder pas trop chaud ou avec un cutter, on fait ce qu'on veut.
  • Pour que tout, les poussoirs comme les LEDs, tombe en face des trous, il faut y aller doucement. L'étiquette du mini-panneau de commande doit être collée en premier sur le panneau avant en la positionnant correctement. Il faut ensuite s'en servir comme d'un guide pour percer les trous dans l'ABS à travers le vinyl. Les trous font Ø5,1 pour les LEDs de 5 mm, et Ø4,8 pour les poussoirs qui font 3,8 mm. On peut faire les trous à la main avec des forêts maintenus dans un étau à main ou dans un manche de tournevis.
  • Les fils de liaison avec les cartes OpenCockpits sortent par le panneau arrière, percé à Ø4 mm.
  • La mini-carte est maintenue en place en collant les LEDs dans leur trou à la colle cyano-acrylate.
  • Une fois terminé, on ne doit rien voir d'anormal de l'extérieur, et un oeil non habitué ne doit même pas détecter que le mini-panneau a été ajouté.

Autres fonctions

D'autres fonctions ont été ajoutées ensuite, très facilement.

  • Commande de la Pause par un bouton poussoir.
  • Affichage clignotant de la Pause. Quand on est en Pause, une LED rouge clignote à 80 éclairs par minute, ce qui est la norme pour les clignotants de voiture.
  • Commande du frein de parking par un microswitch monté sur un petit support mécanique fabriqué à partir de pièces de Meccano et d'un bouton de tiroir découpé et peint en rouge à la bombe.

  • Commande de pushback  par un bouton poussoir.
  • Affichage du push back : quand l'avion est prêt pour le push back, le voyant vert intégré au bouton s'allume. Quand le push back est en cours, le  voyant rouge intégré au bouton clignote.

Les boutons-poussoirs utilisés ici sont des touches de clavier d'ordinateur, qui faisaient du placard depuis au moins 30 ans ! Je leur ai ajouté des LEDs rouge et vert à travers des trous percés dans le plastique et rebouchés à l'Araldire transparente.

Top

 

 

 

Conclusion

 

 

 

Après quelques jours de travail et d'adaptation, le système OpenCockpit se révèle d'une facilité d'utilisation et d'une efficacité étonnante. Quand on le compare à la monstrueuse complexité de la solution proposée par Microsoft avec son SDK et SimConnect, c'est proprement renversant ! Faire un cockpit très compliqué (genre Airbus) devient très simple, d'autant plus que cette construction peut se faire petit à petit, en ajoutant des fonctions au fur et à mesure, en les testant en temps réel à chaque ajout. Mais que de fils !

Top